package com.webcash.CNBoard.Repository;

import java.util.List;

import com.webcash.CNBoard.Model.Board;
import com.webcash.CNBoard.Model.Department;
import com.webcash.CNBoard.Model.DeptBoard;
import com.webcash.CNBoard.Model.DeptComment;

public interface DepartmentRepository {
	List<Department> selectDepartmentList();
	Department selectDepartmentByDeptNo(int deptNo);
	List<DeptBoard> selectDepartmentBoardListByDepartmentNo(int deptNo, int pageNum);
	DeptBoard selectDepartmentBoardContentsByBoardNo(int deptBoardNo);
	int selectDepartmentBoardNoMaxByDeptNo(int deptNo);
	void insertDepartmentBoardByDeptNo(String id, Board board, int deptNo, int deptBoardNo);
	int selectDepartmentBoardCountByDeptNo(int deptNo);
	DeptBoard selectDepartmentBoardByDeptNoAndDeptBoardNo(int deptNo, int deptBoardNo);
	void updateDeptBoardByDeptBoardNo(Board board, int deptBoardNo, int deptNo);
	void deleteDeptBoardByDeptNoAndDeptBoardNo(int deptNo, int deptBoardNo,	int boardNo);
	void updateDeptBoardForReadCountByDeptBoardNo(int deptNo, int deptBoardNo, int readCount);
	void insertDeptCommentByBoardNoAndId(int boardNo, String id,
			String commentContents);
	void updateDeptBoardForCommentCountByBoardNo(int boardNo, int commentCount);
	List<DeptComment> selectDeptCommentListByBoardNo(int boardNo);
	void insertDepartment(Department dept);
}
